import {BrowserModule} from '@angular/platform-browser';
import {NgModule} from '@angular/core';
import { SharkModule } from '@ntesmail/shark-angular2';
import {FormsModule, ReactiveFormsModule} from '@angular/forms';
import {HttpModule} from '@angular/http';
import {AppRoutingModule} from './app-routing.module';
import {AppComponent} from './app.component';
import {SideButtonComponent, SideNavbarComponent} from './lib/side-navbar/side-navbar.component';
import {ComponentLifeComponent} from './test/component-life/component-life.component';
import {HomeViewComponent} from './views/home-view/home-view.component';
import {NavbarComponent} from './lib/navbar/navbar.component';
import {FootbarComponent} from './lib/footbar/footbar.component';
import {FullBannerComponent} from './lib/full-banner/full-banner.component';
import {MultiplePipe} from './pipe/multiple.pipe';
import {MultiSwiperComponent} from './lib/multi-swiper/multi-swiper.component';
import {TitleComponent} from './lib/title/title.component';
import {ERentingViewComponent} from './views/e-renting-view/e-renting-view.component';
import {AboutViewComponent} from './views/about-view/about-view.component';
import {CooperateViewComponent} from './views/cooperate-view/cooperate-view.component';
import {RentingMallViewComponent} from './views/renting-mall-view/renting-mall-view.component';
import {HashLocationStrategy, LocationStrategy} from '@angular/common';
import {HttpUtils} from './utils/http.utils';
import {ModalModule, DatepickerModule} from 'ngx-bootstrap';
import {LoginModalViewComponent} from './views/login-modal-view/login-modal-view.component';
import {TabNavbarComponent, TabNavbarOneComponent} from './lib/tab-navbar/tab-navbar.component';
import {LifeServiceViewComponent} from './views/life-service-view/life-service-view.component';
import {IntroduceComponent} from './lib/introduce/introduce.component';
import {ListItemComponent} from './lib/list-item/list-item.component';
import {ProjectDetailViewComponent} from './views/project-detail-view/project-detail-view.component';
import {SMS} from './service/sms.service';
import {BookingHouseModalViewComponent} from './views/booking-house-modal-view/booking-house-modal-view.component';
import {LayoutTypeModalViewComponent} from './views/layout-type-modal-view/layout-type-modal-view.component';
import {RentBannerComponent} from './lib/rent-banner/rent-banner.component';
import {PersonalComponent} from './views/personal/personal.component';
import {ROUTE} from "./service/route.service";
import {MapNearbyComponent} from './lib/map-nearby/map-nearby.component';
import {MyProfileViewComponent} from './views/my-profile-view/my-profile-view.component';
import {MyBookingViewComponent} from './views/my-booking-view/my-booking-view.component';
import {MyRentingViewComponent} from './views/my-renting-view/my-renting-view.component';
import {MyCleaningViewComponent} from './views/my-cleaning-view/my-cleaning-view.component';
import {MyRepairViewComponent} from './views/my-repair-view/my-repair-view.component';
import {MyLeaseViewComponent} from './views/my-lease-view/my-lease-view.component';
import {MyLifepaymentViewComponent} from './views/my-lifepayment-view/my-lifepayment-view.component';
import {MySysmsgViewComponent} from './views/my-sysmsg-view/my-sysmsg-view.component';
import {MySuggestionViewComponent} from './views/my-suggestion-view/my-suggestion-view.component';
import {LocalStorage} from "./app.local-storage";
import {OnekeyRepairViewComponent} from './views/onekey-repair-view/onekey-repair-view.component';
import {LoginGuard} from "./guard/login.guard";
import {PaymentViewComponent} from './views/payment-view/payment-view.component';
import {WfToast} from "./utils/toast.utils";
import {RentingViewComponent} from './views/renting-view/renting-view.component';
import {APARTMENT} from "./service/apartment.service";
import {CONSTANT} from "./service/constant.service";
import {PlaceOrderViewComponent} from './views/place-order-view/place-order-view.component';
import {ContractViewComponent} from './views/contract-view/contract-view.component';
import {ConfirmPaymentViewComponent} from './views/confirm-payment-view/confirm-payment-view.component';
import {ProgressBarComponent} from './lib/progress-bar/progress-bar.component';
import {FinishedPaymentViewComponent} from './views/finished-payment-view/finished-payment-view.component';
import {UserInfo} from "./service/userinfo.service";
import {USERAPI} from "./service/user.api.service";
import {USER} from "./service/user.service";
import {PAYTYPE} from "./utils/util.utils";
import {IMAGEAPI} from "./service/Image.api.service";
import {CONTRACT} from "./service/contract.service";
import {DatepickerComponent} from "./lib/datepicker/datepicker.component";
import {PAYMENT} from "./service/payment.service";
import { ExchangeModalViewComponent } from './views/exchange-modal-view/exchange-modal-view.component';
import { CheckoutModalViewComponent } from './views/checkout-modal-view/checkout-modal-view.component';
import { ConfirmCheckoutModalViewComponent } from './views/confirm-checkout-modal-view/confirm-checkout-modal-view.component';
import {EventService} from "./utils/event.service";
import { QRCodeModule } from 'angular2-qrcode';
import { WechatPaymentViewComponent } from './views/wechat-payment-view/wechat-payment-view.component';
import { ModifyTelphoneModalViewComponent } from './views/modify-telphone-modal-view/modify-telphone-modal-view.component';
import { ModifyPasswordViewComponent } from './views/modify-password-view/modify-password-view.component';
import { StoryDetailViewComponent } from './views/story-detail-view/story-detail-view.component';
import { CashierModalViewComponent } from './views/cashier-modal-view/cashier-modal-view.component';
import { RatingModalViewComponent } from './views/rating-modal-view/rating-modal-view.component';
import { LifepaymentModalViewComponent } from './views/lifepayment-modal-view/lifepayment-modal-view.component';
import { MyBalanceViewComponent } from './views/my-balance-view/my-balance-view.component';
import { RechargeModalComponent } from './views/recharge-modal/recharge-modal.component';
import { RentingMallDetailViewComponent } from './views/renting-mall-detail-view/renting-mall-detail-view.component';
import {QgyProtocolModalComponent} from "./views/qgy-protocol-modal/qgy-protocol-modal.component";
import { ScoreViewComponent } from './views/score-view/score-view.component';
import { ScoreMallViewComponent } from './views/score-mall-view/score-mall-view.component';
import { CleaningMallViewComponent } from './views/cleaning-mall-view/cleaning-mall-view.component';
import {MeterService} from "./service/meter.service";
import {BalanceService} from "./service/balance.service";
import {GOODS} from "./service/goods-api";
import {CleaningMallDetailViewComponent} from "./views/cleaning-mall-detail-view/cleaning-mall-detail-view.component";
import {ScoreMallDetailViewComponent} from "./views/score-mall-detail-view/score-mall-detail-view.component";
import {COMPLAINT} from "./service/complaint-api";
import {COMMENT} from "./service/comment.service";

@NgModule({
  declarations: [
    AppComponent,
    HomeViewComponent,
    NavbarComponent,
    FootbarComponent,
    FullBannerComponent,
    MultiplePipe,
    MultiSwiperComponent,
    ComponentLifeComponent,
    TitleComponent,
    AboutViewComponent,
    ERentingViewComponent,
    CooperateViewComponent,
    RentingMallViewComponent,
    ComponentLifeComponent,
    ScoreMallDetailViewComponent,
    CleaningMallDetailViewComponent,
    SideNavbarComponent,
    SideButtonComponent,
    LoginModalViewComponent,
    TabNavbarComponent,
    LifeServiceViewComponent,
    IntroduceComponent,
    ListItemComponent,
    ProjectDetailViewComponent,
    RentBannerComponent,
    BookingHouseModalViewComponent,
    LayoutTypeModalViewComponent,
    TabNavbarOneComponent,
    PersonalComponent,
    MapNearbyComponent,
    MyProfileViewComponent,
    MyBookingViewComponent,
    MyRentingViewComponent,
    MyCleaningViewComponent,
    MyRepairViewComponent,
    MyLeaseViewComponent,
    MyLifepaymentViewComponent,
    MySysmsgViewComponent,
    MySuggestionViewComponent,
    OnekeyRepairViewComponent,
    PaymentViewComponent,
    RentingViewComponent,
    PlaceOrderViewComponent,
    ContractViewComponent,
    ConfirmPaymentViewComponent,
    ProgressBarComponent,
    FinishedPaymentViewComponent,
    DatepickerComponent,
    ExchangeModalViewComponent,
    CheckoutModalViewComponent,
    ConfirmCheckoutModalViewComponent,
    WechatPaymentViewComponent,
    ModifyTelphoneModalViewComponent,
    ModifyPasswordViewComponent,
    StoryDetailViewComponent,
    CashierModalViewComponent,
    RatingModalViewComponent,
    LifepaymentModalViewComponent,
    MyBalanceViewComponent,
    RechargeModalComponent,
    RentingMallDetailViewComponent,
    QgyProtocolModalComponent,
    ScoreViewComponent,
    ScoreMallViewComponent,
    CleaningMallViewComponent
  ],
  imports: [
    BrowserModule,
    FormsModule,
    HttpModule,
    ReactiveFormsModule,
    AppRoutingModule,
    QRCodeModule,
    SharkModule,
    ModalModule.forRoot(),
    DatepickerModule.forRoot()
  ],
  providers: [
    {provide: LocationStrategy, useClass: HashLocationStrategy},
    HttpUtils,
    ROUTE,
    USERAPI,
    APARTMENT,
    GOODS,
    BalanceService,
    MeterService,
    EventService,
    WfToast,
    LocalStorage,
    SMS,
    COMPLAINT,
    CONSTANT,
    COMMENT,
    USER,
    UserInfo,
    PAYTYPE,
    IMAGEAPI,
    CONTRACT,
    PAYMENT
  ],
  bootstrap: [AppComponent]
})
export class AppModule {
}
